package com.ias.log.annotation;

import java.lang.annotation.*;

/**
 * 操作日志注解
 * 
 * @author ias
 * @since 2024
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LogAnnotation {

    /**
     * 模块名称
     */
    String module() default "";

    /**
     * 操作描述
     */
    String remark() default "";

    /**
     * 操作类型（1-新增 2-修改 3-删除 4-查询 5-导出 6-导入 7-登录 8-登出 9-其他）
     */
    int optType() default 9;

    /**
     * 日志类型（0-操作日志 1-异常日志）
     */
    String logType() default "0";

    /**
     * 是否保存到数据库
     */
    boolean isSave() default true;

    /**
     * 是否记录请求参数
     */
    boolean recordRequestParam() default true;

    /**
     * 是否记录响应数据
     */
    boolean recordResponseDate() default false;

    /**
     * 数据库类型
     */
    String dbType() default "mysql";
}

